package com.steellee.leeexcel.dto;

import lombok.Data;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.util.List;

/**
 * 文件解析-读取文件 入参对象
 *
 * @author steellee
 * @date 2023-02-17
 **/
@Data
@Accessors(chain = true)
public class MetaExcelWriteDTO implements Serializable {
    private static final long serialVersionUID = -4593200808994779240L;
    // 返回对象.class
    protected Class paramClazz;
    // sheet编号
    protected Integer sheetNo;
    // sheet名称
    protected String sheetName;
    //写出数据集合(基于对象)
    // 例: [ obj:( id:"ae", name:"xx"},…]
    protected List dataList;
    // 写出字段头(基于 Map)
    //单元格下标从小到大排序后的字段名数组
    // 例: [("ea",..],["bb",..],..] 如此第一行展示内容为 aa, bb,..
    protected List<List<String>> heads;
    //写出数据集合(基于 Map)
    // L18t<Object>：代表单元格下标从小到大排序后的单行数据值
    // Liat<List<Object>>;代表所有行数据值
    // 例: [(* aa",123,*2022-12-31",,],..] 如此数据行展示为 aa,123,2022-12-31
    protected List<List<Object>> mapList;
    // 指定固定列宽 默认30
    protected Integer paColumnWidth;
    //自定义单元格样式
    // 是否存在自定义样式
    protected boolean hasOwnStyle;
    //标题行号编码
    protected List<Integer> headRows;
    //标题样式
    protected MetaCellStyle headCellStyle;
    //数据样式
    protected List<MetaDataOperate> dataOperateList;
    //数据全局个性化样式
    protected MetaCellStyle globalStyle;
}